之前我們在很一開始的地方加碼了一個git的實戰教學~ 後來有一位朋友問我能不能講講gitflow,其實gitflow很簡單,可以說是的一套完整開發流程規定,那麼今天就帶各位了解一下git flow的魅力之處吧
剛剛說到這是一個開發流程規定,不論是大企業小企業也都會常常用到的一套flow~~~
原因在於:
所以有人提出了 https://nvie.com/posts/a-successful-git-branching-model/ 給大家一個開發準則,之後也有許多不同的flow 問世讓大家使用~ 今天我們就單純介紹 Git Flow本人。
這個東西簡單在於其實我們用一張圖就可以解釋了XD
我們假設今天做的project已經部屬到網路上了,可能在一間公司,這個軟體或網站已經上線給眾多user使用了,那麼你可能會遇到底下情境:
前情提要:
通常一個產品線都會有三個地方給大家開發或測試:
Develop:
你已經佈署到網路上但是軟體還正在開發當中,可能公司要求你要新加一個功能~ 那接下來你要先在develop裡面開一個feature branch,接下來你就可以盡情開發,結束之後你按下finish,他就會自動匯入到develop branch!
Develop結束了:
當我們一個feature已經開發的不錯了,也成功匯入到develop了,我們就可以準備release! 在這裡我們會做最後的測試,盡量找出所有的bug,一但都確定好了就可以結束release branch,然後就會把他merge回develop 跟master了!
User說出了一點意外!!!!
這就是公司最不想遇到的情況,因為可能已經上線到網站遇到了bug,我們就會快速的分支出一個hotfix branch快速修復bug,如果都確定解決了問題我們就可以結束hotfix,他就會自動合併到master~ 同時他也會merge進develop (因為我們現在可能也正在開發些甚麼,問題會是一樣的)
我會推薦各位去下載一些Git 的 GUI,這樣可以比較清楚所有的commit, branch 怎麼去動~ 這邊推薦兩個:
我適用git kraken~ 大概長這樣:
然後我們可以到右上角點選preference~
然後就左下角有一個初始git flow:
這樣就可以使用了喔! 當然我們也可以直接在terminal下載並且初始化git flow~ 只是就不能欣賞美麗的git 樹了XDXD
其實git 本身還有很多有趣好玩的東西例如cherry pick, reset, revert等等,希望各位有時間可以慢慢去理解每一個的功能,不然之後去職場亂搞別人的git可是會被白眼的lol